home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / octa209s.zip / octave-2.09 / libs / info / filesys.h < prev    next >
C/C++ Source or Header  |  1996-04-01  |  4KB  |  89 lines

  1. /* filesys.h -- External declarations of functions and vars in filesys.c. */
  2.  
  3. /* This file is part of GNU Info, a program for reading online documentation
  4.    stored in Info format.
  5.  
  6.    Copyright (C) 1993 Free Software Foundation, Inc.
  7.  
  8.    This program is free software; you can redistribute it and/or modify
  9.    it under the terms of the GNU General Public License as published by
  10.    the Free Software Foundation; either version 2, or (at your option)
  11.    any later version.
  12.  
  13.    This program is distributed in the hope that it will be useful,
  14.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.    GNU General Public License for more details.
  17.  
  18.    You should have received a copy of the GNU General Public License
  19.    along with this program; if not, write to the Free Software
  20.    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  21.  
  22.    Written by Brian Fox (bfox@ai.mit.edu). */
  23.  
  24. #if !defined (_FILESYS_H_)
  25. #define _FILESYS_H_
  26.  
  27. /* The path on which we look for info files.  You can initialize this
  28.    from the environment variable INFOPATH if there is one, or you can
  29.    call info_add_path () to add paths to the beginning or end of it. */
  30. extern char *infopath;
  31.  
  32. /* Make INFOPATH have absolutely nothing in it. */
  33. extern void zap_infopath ();
  34.  
  35. /* Add PATH to the list of paths found in INFOPATH.  2nd argument says
  36.    whether to put PATH at the front or end of INFOPATH. */
  37. extern void info_add_path ();
  38.  
  39. /* Defines that are passed along with the pathname to info_add_path (). */
  40. #define INFOPATH_PREPEND 0
  41. #define INFOPATH_APPEND  1
  42.  
  43. /* Expand the filename in PARTIAL to make a real name for this operating
  44.    system.  This looks in INFO_PATHS in order to find the correct file.
  45.    If it can't find the file, it returns NULL. */
  46. extern char *info_find_fullpath ();
  47.  
  48. /* Read the contents of PATHNAME, returning a buffer with the contents of
  49.    that file in it, and returning the size of that buffer in FILESIZE.
  50.    FINFO is a stat struct which has already been filled in by the caller.
  51.    If the file cannot be read, return a NULL pointer. */
  52. extern char *filesys_read_info_file ();
  53. extern char *filesys_read_compressed ();
  54.  
  55. /* Return the command string that would be used to decompress FILENAME. */
  56. extern char *filesys_decompressor_for_file ();
  57. extern int compressed_filename_p ();
  58.  
  59. /* A function which returns a pointer to a static buffer containing
  60.    an error message for FILENAME and ERROR_NUM. */
  61. extern char *filesys_error_string ();
  62.  
  63. /* The number of the most recent file system error. */
  64. extern int filesys_error_number;
  65.  
  66. /* Given a string containing units of information separated by colons,
  67.    return the next one pointed to by IDX, or NULL if there are no more.
  68.    Advance IDX to the character after the colon. */
  69. extern char *extract_colon_unit ();
  70.  
  71. /* The default value of INFOPATH. */
  72. #if !defined (DEFAULT_INFOPATH)
  73. #if defined __EMX__
  74. #define DEFAULT_INFOPATH ".;i:/apps/emacs/info"
  75. #else
  76. #define DEFAULT_INFOPATH "/usr/local/info:/usr/info:/usr/local/lib/info:/usr/lib/info:/usr/local/gnu/info:/usr/local/gnu/lib/info:/usr/gnu/info:/usr/gnu/lib/info:/opt/gnu/info:/usr/share/info:/usr/share/lib/info:/usr/local/share/info:/usr/local/share/lib/info:/usr/gnu/lib/emacs/info:/usr/local/gnu/lib/emacs/info:/usr/local/lib/emacs/info:/usr/local/emacs/info:."
  77. #endif
  78. #endif /* !DEFAULT_INFOPATH */
  79.  
  80. #if !defined (S_ISREG) && defined (S_IFREG)
  81. #  define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
  82. #endif /* !S_ISREG && S_IFREG */
  83.  
  84. #if !defined (S_ISDIR) && defined (S_IFDIR)
  85. #  define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
  86. #endif /* !S_ISDIR && S_IFDIR */
  87.  
  88. #endif /* !_FILESYS_H_ */
  89.